[INFO] cloning repository https://github.com/kluless13/spotify-player-klu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kluless13/spotify-player-klu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkluless13%2Fspotify-player-klu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkluless13%2Fspotify-player-klu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] adddd7a70046031912601816d32d64e0c395b961
[INFO] fixing kluless13/spotify-player-klu against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkluless13%2Fspotify-player-klu" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kluless13/spotify-player-klu
[INFO] finished tweaking git repo https://github.com/kluless13/spotify-player-klu
[INFO] tweaked toml for git repo https://github.com/kluless13/spotify-player-klu written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kluless13/spotify-player-klu on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kluless13/spotify-player-klu already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db
[INFO] running `Command { std: "docker" "start" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating spotify_player/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating lyric_finder/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling cc v1.2.45
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking tracing-core v0.1.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking hashbrown v0.16.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking indexmap v2.12.0
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rustls-pki-types v1.13.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]    Compiling protobuf v3.7.2
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling vergen-lib v0.1.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]     Checking base64ct v1.8.0
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling vergen v9.0.6
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling protobuf-support v3.7.2
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling vergen-gitcl v1.0.8
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking is-docker v0.2.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.5
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking is-wsl v0.4.0
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]    Compiling librespot-core v0.8.0
[INFO] [stderr]     Checking hyper v1.8.0
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking open v5.3.2
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]    Compiling protobuf-parse v3.7.2
[INFO] [stderr]     Checking hyper-util v0.1.17
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking governor v0.10.1
[INFO] [stderr]     Checking rsa v0.9.8
[INFO] [stderr]     Checking shannon v0.2.0
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking protobuf-json-mapping v3.7.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]    Compiling protobuf-codegen v3.7.2
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking hyper-proxy2 v0.1.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking priority-queue v2.7.0
[INFO] [stderr]     Checking sysinfo v0.36.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.6
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling cpal v0.16.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking oauth2 v5.0.0
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking librespot-oauth v0.8.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]    Compiling librespot-protocol v0.8.0
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking rodio v0.21.1
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking dbus v0.9.9
[INFO] [stderr]     Checking xml5ever v0.18.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking toml_parser v1.0.4
[INFO] [stderr]    Compiling bon-macros v2.3.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling maybe-async v0.2.10
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking toml_datetime v0.7.3
[INFO] [stderr]     Checking serde_spanned v1.0.3
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking toml_writer v1.0.4
[INFO] [stderr]    Compiling souvlaki v0.8.3
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking rspotify-model v0.15.3
[INFO] [stderr]     Checking toml v0.9.8
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking rspotify-http v0.15.3
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking dbus-crossroads v0.5.2
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking markup5ever_rcdom v0.3.0
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]     Checking ratatui v0.28.1
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking webbrowser v1.0.6
[INFO] [stderr]     Checking bon v2.3.0
[INFO] [stderr]    Compiling config_parser_derive v0.1.3
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking colorsys v0.6.7
[INFO] [stderr]     Checking env_home v0.1.0
[INFO] [stderr]     Checking simple-easing v1.0.1
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking rspotify-macros v0.15.3
[INFO] [stderr]     Checking utf8-width v0.1.7
[INFO] [stderr]     Checking ttl_cache v0.5.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking html-escape v0.2.13
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking which v8.0.0
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking config_parser2 v0.1.6
[INFO] [stderr]     Checking clap_complete v4.5.60
[INFO] [stderr]     Checking tachyonfx v0.7.0
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking chrono-humanize v0.2.3
[INFO] [stderr]     Checking lyric_finder v0.1.8 (/opt/rustwide/workdir/lyric_finder)
[INFO] [stderr]    Migrating lyric_finder/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking rspotify v0.15.3
[INFO] [stderr]        Fixed lyric_finder/src/lib.rs (2 fixes)
[INFO] [stderr]    Migrating lyric_finder/examples/lyric-finder.rs from 2021 edition to 2024
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking librespot-metadata v0.8.0
[INFO] [stderr]     Checking librespot-audio v0.8.0
[INFO] [stderr]     Checking librespot-playback v0.8.0
[INFO] [stderr]     Checking librespot-connect v0.8.0
[INFO] [stderr]     Checking spotify_player v0.21.2 (/opt/rustwide/workdir/spotify_player)
[INFO] [stderr]    Migrating spotify_player/src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed spotify_player/src/event/popup.rs (2 fixes)
[INFO] [stderr]        Fixed spotify_player/src/cli/handlers.rs (2 fixes)
[INFO] [stderr]        Fixed spotify_player/src/state/model.rs (4 fixes)
[INFO] [stderr]        Fixed spotify_player/src/ui/single_line_input.rs (1 fix)
[INFO] [stderr]        Fixed spotify_player/src/ui/page.rs (6 fixes)
[INFO] [stderr]        Fixed spotify_player/src/client/mod.rs (1 fix)
[INFO] [stderr]        Fixed spotify_player/src/main.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/streaming.rs:227:47
[INFO] [stdout]      |
[INFO] [stdout]  201 |             while let Some(event) = channel.recv().await {
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  202 |                 match PlayerEvent::from_librespot_player_event(event) {
[INFO] [stdout]  203 |                     Err(err) => {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `err` calls a custom destructor
[INFO] [stdout]      |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `player` calls a custom destructor
[INFO] [stdout]      |                                     `player` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 |                             if let Err(err) = execute_player_event_hook_command(cmd, &event) {
[INFO] [stdout]      |                                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |      |
[INFO] [stdout]      |                                        |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                        |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  232 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `player` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/streaming.rs:202:23
[INFO] [stdout]      |
[INFO] [stdout]  201 |             while let Some(event) = channel.recv().await {
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  202 |                 match PlayerEvent::from_librespot_player_event(event) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  203 |                     Err(err) => {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `err` calls a custom destructor
[INFO] [stdout]      |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `player` calls a custom destructor
[INFO] [stdout]      |                                     `player` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 |                             if let Err(err) = execute_player_event_hook_command(cmd, &event) {
[INFO] [stdout]      |                                        ---
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `player` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/mod.rs:892:57
[INFO] [stdout]     |
[INFO] [stdout] 882 |           let mut singles = {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 883 | |             let first_page = self
[INFO] [stdout] 884 | |                 .artist_albums_manual(
[INFO] [stdout] 885 | |                     artist_id.as_ref(),
[INFO] [stdout] ...   |
[INFO] [stdout] 892 | |             self.all_paging_items(first_page, &payload).await
[INFO] [stdout]     | |                                                         ^^^^^
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 893 | |         }?;
[INFO] [stdout]     | |          -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/mod.rs:904:57
[INFO] [stdout]     |
[INFO] [stdout] 894 |           let mut albums = {
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 895 | |             let first_page = self
[INFO] [stdout] 896 | |                 .artist_albums_manual(
[INFO] [stdout] 897 | |                     artist_id.as_ref(),
[INFO] [stdout] ...   |
[INFO] [stdout] 904 | |             self.all_paging_items(first_page, &payload).await
[INFO] [stdout]     | |                                                         ^^^^^
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 905 | |         }?;
[INFO] [stdout]     | |          -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/handlers.rs:246:27
[INFO] [stdout]      |
[INFO] [stdout]  245 |         tokio::time::sleep(refresh_duration).await;
[INFO] [stdout]      |         ------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  246 |         if let Err(err) = handle_player_event(&state, &client_pub, &mut handler_state) {
[INFO] [stdout]      |                    ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |      |
[INFO] [stdout]      |                    |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `err` calls a custom destructor
[INFO] [stdout]      |                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  249 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/spotify.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout]  85 | #[maybe_async]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let session = self.session().await;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `session` calls a custom destructor
[INFO] [stdout]     |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |         match token::get_token_rspotify(&session).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                   |
[INFO] [stdout]     |               |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/librespot-core-0.8.0/src/session.rs:664:1
[INFO] [stdout]     |
[INFO] [stdout] 664 | impl Drop for SessionInternal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/spotify.rs:112:51
[INFO] [stdout]     |
[INFO] [stdout]  85 | #[maybe_async]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let session = self.session().await;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `session` calls a custom destructor
[INFO] [stdout]     |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |         match token::get_token_rspotify(&session).await {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/librespot-core-0.8.0/src/session.rs:664:1
[INFO] [stdout]     |
[INFO] [stdout] 664 | impl Drop for SessionInternal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/mod.rs:147:31
[INFO] [stdout]      |
[INFO] [stdout]  124 |                     tokio::time::sleep(delay).await;
[INFO] [stdout]      |                     -------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  125 |
[INFO] [stdout]  126 |                     if let Err(err) = client.retrieve_current_playback(&state, false).await {
[INFO] [stdout]      |                                       -----------------------------------------------------
[INFO] [stdout]      |                                       |                                               |
[INFO] [stdout]      |                                       |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                       |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |                     if state.player.read().playback.is_some() {
[INFO] [stdout]      |                        -------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  136 |                     let id = match client.find_available_device().await {
[INFO] [stdout]      |                                    ------------------------------------
[INFO] [stdout]      |                                    |                              |
[INFO] [stdout]      |                                    |                              this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                    |                              `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                    `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  139 |                         Err(err) => {
[INFO] [stdout]      |                             ---
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `err` calls a custom destructor
[INFO] [stdout]      |                             `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  147 |                         match client.transfer_playback(&id, Some(false)).await { Err(err) => {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----       ---
[INFO] [stdout]      |                               |                                          |           |
[INFO] [stdout]      |                               |                                          |           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                               |                                          |           `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |                                          this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                               |                                          up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                               |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                               up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  152 |                             state.player.write().buffered_playback = None;
[INFO] [stdout]      |                             --------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                             `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  156 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/mod.rs:685:35
[INFO] [stdout]      |
[INFO] [stdout]  684 |                 tokio::time::sleep(delay).await;
[INFO] [stdout]      |                 -------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  685 |                 if let Err(err) = client.retrieve_current_playback(&state, false).await {
[INFO] [stdout]      |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                            |      |                                               |
[INFO] [stdout]      |                            |      |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            |      |                                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            |      |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            |      |                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            `err` calls a custom destructor
[INFO] [stdout]      |                            `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  690 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/event/mod.rs:38:27
[INFO] [stdout]      |
[INFO] [stdout]   37 |           let _enter = tracing::info_span!("terminal_event", event = ?event).entered();
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `_enter` calls a custom destructor
[INFO] [stdout]      |               `_enter` will be dropped later as of Edition 2024
[INFO] [stdout]   38 |           if let Err(err) = match event {
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]   39 | |             crossterm::event::Event::Mouse(event) => handle_mouse_event(event, client_pub, state),
[INFO] [stdout]   40 | |             crossterm::event::Event::Resize(columns, rows) => {
[INFO] [stdout]   41 | |                 state.ui.lock().orientation = Orientation::from_size(columns, rows);
[INFO] [stdout] ...    |
[INFO] [stdout]   55 | |             _ => Ok(()),
[INFO] [stdout]   56 | |         } {
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_enter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/span.rs:1566:1
[INFO] [stdout]      |
[INFO] [stdout] 1566 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/streaming.rs:227:47
[INFO] [stdout]      |
[INFO] [stdout]  201 |             while let Some(event) = channel.recv().await {
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  202 |                 match PlayerEvent::from_librespot_player_event(event) {
[INFO] [stdout]  203 |                     Err(err) => {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `err` calls a custom destructor
[INFO] [stdout]      |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `player` calls a custom destructor
[INFO] [stdout]      |                                     `player` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 |                             if let Err(err) = execute_player_event_hook_command(cmd, &event) {
[INFO] [stdout]      |                                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                        |      |
[INFO] [stdout]      |                                        |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                        |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  232 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `player` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/streaming.rs:202:23
[INFO] [stdout]      |
[INFO] [stdout]  201 |             while let Some(event) = channel.recv().await {
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  202 |                 match PlayerEvent::from_librespot_player_event(event) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  203 |                     Err(err) => {
[INFO] [stdout]      |                         ---
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `err` calls a custom destructor
[INFO] [stdout]      |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     `player` calls a custom destructor
[INFO] [stdout]      |                                     `player` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                                 let mut player = state.player.write();
[INFO] [stdout]      |                                     ----------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  227 |                             if let Err(err) = execute_player_event_hook_command(cmd, &event) {
[INFO] [stdout]      |                                        ---
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  236 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `player` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/mod.rs:892:57
[INFO] [stdout]     |
[INFO] [stdout] 882 |           let mut singles = {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 883 | |             let first_page = self
[INFO] [stdout] 884 | |                 .artist_albums_manual(
[INFO] [stdout] 885 | |                     artist_id.as_ref(),
[INFO] [stdout] ...   |
[INFO] [stdout] 892 | |             self.all_paging_items(first_page, &payload).await
[INFO] [stdout]     | |                                                         ^^^^^
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 893 | |         }?;
[INFO] [stdout]     | |          -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/mod.rs:904:57
[INFO] [stdout]     |
[INFO] [stdout] 894 |           let mut albums = {
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 895 | |             let first_page = self
[INFO] [stdout] 896 | |                 .artist_albums_manual(
[INFO] [stdout] 897 | |                     artist_id.as_ref(),
[INFO] [stdout] ...   |
[INFO] [stdout] 904 | |             self.all_paging_items(first_page, &payload).await
[INFO] [stdout]     | |                                                         ^^^^^
[INFO] [stdout]     | |                                                         |
[INFO] [stdout]     | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 905 | |         }?;
[INFO] [stdout]     | |          -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/handlers.rs:246:27
[INFO] [stdout]      |
[INFO] [stdout]  245 |         tokio::time::sleep(refresh_duration).await;
[INFO] [stdout]      |         ------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  246 |         if let Err(err) = handle_player_event(&state, &client_pub, &mut handler_state) {
[INFO] [stdout]      |                    ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |      |
[INFO] [stdout]      |                    |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `err` calls a custom destructor
[INFO] [stdout]      |                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  249 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/spotify.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout]  85 | #[maybe_async]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let session = self.session().await;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `session` calls a custom destructor
[INFO] [stdout]     |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |         match token::get_token_rspotify(&session).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                   |
[INFO] [stdout]     |               |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]     |
[INFO] [stdout] 773 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/librespot-core-0.8.0/src/session.rs:664:1
[INFO] [stdout]     |
[INFO] [stdout] 664 | impl Drop for SessionInternal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> spotify_player/src/client/spotify.rs:112:51
[INFO] [stdout]     |
[INFO] [stdout]  85 | #[maybe_async]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 104 |         let session = self.session().await;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `session` calls a custom destructor
[INFO] [stdout]     |             `session` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 112 |         match token::get_token_rspotify(&session).await {
[INFO] [stdout]     |                                                   ^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `session` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/librespot-core-0.8.0/src/session.rs:664:1
[INFO] [stdout]     |
[INFO] [stdout] 664 | impl Drop for SessionInternal {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 40s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/mod.rs:147:31
[INFO] [stdout]      |
[INFO] [stdout]  124 |                     tokio::time::sleep(delay).await;
[INFO] [stdout]      |                     -------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `__awaitee` calls a custom destructor
[INFO] [stdout]      |                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  125 |
[INFO] [stdout]  126 |                     if let Err(err) = client.retrieve_current_playback(&state, false).await {
[INFO] [stdout]      |                                       -----------------------------------------------------
[INFO] [stdout]      |                                       |                                               |
[INFO] [stdout]      |                                       |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                       |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  132 |                     if state.player.read().playback.is_some() {
[INFO] [stdout]      |                        -------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                        `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  136 |                     let id = match client.find_available_device().await {
[INFO] [stdout]      |                                    ------------------------------------
[INFO] [stdout]      |                                    |                              |
[INFO] [stdout]      |                                    |                              this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                    |                              `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                    `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  139 |                         Err(err) => {
[INFO] [stdout]      |                             ---
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `err` calls a custom destructor
[INFO] [stdout]      |                             `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  147 |                         match client.transfer_playback(&id, Some(false)).await { Err(err) => {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----       ---
[INFO] [stdout]      |                               |                                          |           |
[INFO] [stdout]      |                               |                                          |           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                               |                                          |           `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |                                          this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                               |                                          up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                               |                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                               up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  152 |                             state.player.write().buffered_playback = None;
[INFO] [stdout]      |                             --------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                             `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  156 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.10.1/src/bytes.rs:684:1
[INFO] [stdout]      |
[INFO] [stdout]  684 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1827:1
[INFO] [stdout]      |
[INFO] [stdout] 1827 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/client/mod.rs:685:35
[INFO] [stdout]      |
[INFO] [stdout]  684 |                 tokio::time::sleep(delay).await;
[INFO] [stdout]      |                 -------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  685 |                 if let Err(err) = client.retrieve_current_playback(&state, false).await {
[INFO] [stdout]      |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                            |      |                                               |
[INFO] [stdout]      |                            |      |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                            |      |                                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            |      |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            |      |                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                            |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                            |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            `err` calls a custom destructor
[INFO] [stdout]      |                            `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  690 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> spotify_player/src/event/mod.rs:38:27
[INFO] [stdout]      |
[INFO] [stdout]   37 |           let _enter = tracing::info_span!("terminal_event", event = ?event).entered();
[INFO] [stdout]      |               ------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `_enter` calls a custom destructor
[INFO] [stdout]      |               `_enter` will be dropped later as of Edition 2024
[INFO] [stdout]   38 |           if let Err(err) = match event {
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]   39 | |             crossterm::event::Event::Mouse(event) => handle_mouse_event(event, client_pub, state),
[INFO] [stdout]   40 | |             crossterm::event::Event::Resize(columns, rows) => {
[INFO] [stdout]   41 | |                 state.ui.lock().orientation = Orientation::from_size(columns, rows);
[INFO] [stdout] ...    |
[INFO] [stdout]   55 | |             _ => Ok(()),
[INFO] [stdout]   56 | |         } {
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   59 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/error.rs:773:1
[INFO] [stdout]      |
[INFO] [stdout]  773 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_enter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/span.rs:1566:1
[INFO] [stdout]      |
[INFO] [stdout] 1566 | impl Drop for EnteredSpan {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr] crater-edition-check: spotify_player v0.21.2 (/opt/rustwide/workdir/spotify_player) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: lyric_finder v0.1.8 (/opt/rustwide/workdir/lyric_finder) updating edition from 2021 to 2024
[INFO] [stderr]     Checking lyric_finder v0.1.8 (/opt/rustwide/workdir/lyric_finder)
[INFO] [stderr]     Checking spotify_player v0.21.2 (/opt/rustwide/workdir/spotify_player)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> spotify_player/src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         unsafe { std::env::set_var("RUST_LOG", "spotify_player=info,librespot=info") };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> spotify_player/src/main.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         unsafe { std::env::set_var("RUST_LOG", "spotify_player=info,librespot=info") };
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> spotify_player/src/event/page.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Context as _;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> spotify_player/src/event/page.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Context as _;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_bpm` is never read
[INFO] [stdout]   --> spotify_player/src/state/ui/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct UIState {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub current_bpm: f64, // Track tempo/BPM
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UIState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlbumPalette` is never constructed
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct AlbumPalette {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl AlbumPalette {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 21 |     /// Create a default palette with cyan tones
[INFO] [stdout] 22 |     pub fn default() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_concentric_waves` is never used
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn render_concentric_waves(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_color_palette` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn generate_color_palette(r: u8, g: u8, b: u8) -> AlbumPalette {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_intensity` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn apply_intensity(color: (u8, u8, u8), intensity: f64) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_color_for_scheme` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn get_color_for_scheme(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_bpm` is never read
[INFO] [stdout]   --> spotify_player/src/state/ui/mod.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct UIState {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub current_bpm: f64, // Track tempo/BPM
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UIState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlbumPalette` is never constructed
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct AlbumPalette {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `default` is never used
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl AlbumPalette {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 21 |     /// Create a default palette with cyan tones
[INFO] [stdout] 22 |     pub fn default() -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_concentric_waves` is never used
[INFO] [stdout]   --> spotify_player/src/ui/visualizations.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn render_concentric_waves(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_color_palette` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn generate_color_palette(r: u8, g: u8, b: u8) -> AlbumPalette {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_intensity` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:160:4
[INFO] [stdout]     |
[INFO] [stdout] 160 | fn apply_intensity(color: (u8, u8, u8), intensity: f64) -> Color {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_color_for_scheme` is never used
[INFO] [stdout]    --> spotify_player/src/ui/visualizations.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn get_color_for_scheme(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `spotify_player` (bin "spotify_player" test) due to 1 previous error; 8 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `spotify_player` (bin "spotify_player") due to 1 previous error; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db", kill_on_drop: false }`
[INFO] [stdout] 6c28973c279bcd65933b6879d0f72928e86a79dcf8b3ade4ce9c74640c8775db
